package s02;

public class S01 {
	public static int sum(int n1, int n2) {//静态方法，这是两个参数的函数
		return n1+n2;
	}
	public static int sum2(int...n) {//静态方法，参数个数可变
		//System.out.println(n.length);//数组中元素的个数
		int total=0;
		for (int i : n) {
			total+=i;
		}
		return total;
	}
	public int sum3(int...n) {//实例方法，参数个数可变
		int total=0;
		for (int i : n) {
			total+=i;
		}
		return total;
	}
	public static void main(String[] args) {
		int total=S01.sum(10, 20);//通过类型来调用静态方法
		System.out.println(total);
		System.out.println(sum(10, 30));//调用和被调用者属于同一个类，此时S01.sum(10, 20)可简写为sum(10, 20)
		//System.out.println(sum(10));//参数只能是两个，多了少了都不行
		System.out.println(sum2(10,20,30));//调用可变参数的方法，传递参数时可多可少，但类型必须要匹配
		System.out.println(sum2(123));
		System.out.println(sum2());
		int[]a= {1,2,3,4,5,6,7,8,9};
		System.out.println(sum2(a));
		S01 s01 = new S01();
		System.out.println(s01.sum3(11,22)); //同一个类的静态方法中要调用实例方法，必须创建类的对象，然后通过对象再调用方法
	}
}
